using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("GeneralStore")]
	public class GeneralStore : Store
	{
		[Attribute38("GeneralStore.ModeObjects")]
		public class ModeObjects : MonoClass
		{
			public GeneralStoreMode m_mode => method_2<GeneralStoreMode>("m_mode");

			public GeneralStoreContent m_content => method_3<GeneralStoreContent>("m_content");

			public GeneralStorePane m_pane => method_3<GeneralStorePane>("m_pane");

			public UIBButton m_button => method_3<UIBButton>("m_button");

			public ModeObjects(IntPtr address, string className)
				: base(address, className)
			{
			}

			public ModeObjects(IntPtr address)
				: this(address, "ModeObjects")
			{
			}
		}

		public enum BuyPanelState
		{
			DISABLED,
			BUY_GOLD,
			BUY_MONEY
		}

		public GameObject m_mainPanel => method_3<GameObject>("m_mainPanel");

		public GameObject m_buyGoldPanel => method_3<GameObject>("m_buyGoldPanel");

		public GameObject m_buyMoneyPanel => method_3<GameObject>("m_buyMoneyPanel");

		public GameObject m_buyEmptyPanel => method_3<GameObject>("m_buyEmptyPanel");

		public List<ModeObjects> m_modeObjects => method_3<Class271<ModeObjects>>("m_modeObjects")?.method_25();

		public MeshRenderer m_accentIcon => method_3<MeshRenderer>("m_accentIcon");

		public GameObject m_modeButtonBlocker => method_3<GameObject>("m_modeButtonBlocker");

		public UberText m_moneyCostText => method_3<UberText>("m_moneyCostText");

		public UberText m_goldCostText => method_3<UberText>("m_goldCostText");

		public MultiSliceElement m_productDetailsContainer => method_3<MultiSliceElement>("m_productDetailsContainer");

		public UberText m_productDetailsHeadlineText => method_3<UberText>("m_productDetailsHeadlineText");

		public UberText m_productDetailsText => method_3<UberText>("m_productDetailsText");

		public float m_productDetailsRegularHeight => method_2<float>("m_productDetailsRegularHeight");

		public float m_productDetailsExtendedHeight => method_2<float>("m_productDetailsExtendedHeight");

		public UberText m_koreanProductDetailsText => method_3<UberText>("m_koreanProductDetailsText");

		public UberText m_koreanWarningText => method_3<UberText>("m_koreanWarningText");

		public float m_koreanProductDetailsRegularHeight => method_2<float>("m_koreanProductDetailsRegularHeight");

		public float m_koreanProductDetailsExtendedHeight => method_2<float>("m_koreanProductDetailsExtendedHeight");

		public GameObject m_chooseArrowContainer => method_3<GameObject>("m_chooseArrowContainer");

		public UberText m_chooseArrowText => method_3<UberText>("m_chooseArrowText");

		public float m_contentFlipAnimationTime => method_2<float>("m_contentFlipAnimationTime");

		public iTween.EaseType m_contentFlipEaseType => method_2<iTween.EaseType>("m_contentFlipEaseType");

		public GeneralStorePane m_defaultPane => method_3<GeneralStorePane>("m_defaultPane");

		public Vector3 m_paneSwapOutOffset => method_2<Vector3>("m_paneSwapOutOffset");

		public Vector3 m_paneSwapInOffset => method_2<Vector3>("m_paneSwapInOffset");

		public float m_paneSwapAnimationTime => method_2<float>("m_paneSwapAnimationTime");

		public UIBScrollable m_paneScrollbar => method_3<UIBScrollable>("m_paneScrollbar");

		public GameObject m_shakeyObject => method_3<GameObject>("m_shakeyObject");

		public float m_multipleShakeTolerance => method_2<float>("m_multipleShakeTolerance");

		public string m_contentFlipSound => method_4("m_contentFlipSound");

		public static int MIN_GOLD_FOR_CHANGE_QTY_TOOLTIP => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "GeneralStore", "MIN_GOLD_FOR_CHANGE_QTY_TOOLTIP");

		public static float FLIP_BUY_PANEL_ANIM_TIME => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "GeneralStore", "FLIP_BUY_PANEL_ANIM_TIME");

		public static Vector3 MAIN_PANEL_ANGLE_TO_ROTATE => MonoClass.smethod_6<Vector3>(TritonHs.MainAssemblyPath, "", "GeneralStore", "MAIN_PANEL_ANGLE_TO_ROTATE");

		public static List<GeneralStoreMode> s_ContentOrdering => MonoClass.smethod_7<Class250<GeneralStoreMode>>(TritonHs.MainAssemblyPath, "", "GeneralStore", "s_ContentOrdering")?.method_25();

		public static List<Vector3> s_ContentTriangularPositions => MonoClass.smethod_7<Class250<Vector3>>(TritonHs.MainAssemblyPath, "", "GeneralStore", "s_ContentTriangularPositions")?.method_25();

		public static List<Vector3> s_ContentTriangularRotations => MonoClass.smethod_7<Class250<Vector3>>(TritonHs.MainAssemblyPath, "", "GeneralStore", "s_ContentTriangularRotations")?.method_25();

		public static List<Vector3> s_MainPanelTriangularRotations => MonoClass.smethod_7<Class250<Vector3>>(TritonHs.MainAssemblyPath, "", "GeneralStore", "s_MainPanelTriangularRotations")?.method_25();

		public BuyPanelState m_buyPanelState => method_2<BuyPanelState>("m_buyPanelState");

		public bool m_staticTextResized => method_2<bool>("m_staticTextResized");

		public GeneralStoreMode m_currentMode => method_2<GeneralStoreMode>("m_currentMode");

		public int m_settingNewModeCount => method_2<int>("m_settingNewModeCount");

		public Vector3 m_shakeyObjectOriginalLocalRotation => method_2<Vector3>("m_shakeyObjectOriginalLocalRotation");

		public Vector3 m_shakeyObjectOriginalLocalPosition => method_2<Vector3>("m_shakeyObjectOriginalLocalPosition");

		public float m_lastShakeyAmount => method_2<float>("m_lastShakeyAmount");

		public bool m_stillShaking => method_2<bool>("m_stillShaking");

		public int m_currentContentPositionIdx => method_2<int>("m_currentContentPositionIdx");

		public MusicPlaylistType m_prevPlaylist => method_2<MusicPlaylistType>("m_prevPlaylist");

		public GeneralStore(IntPtr address, string className)
			: base(address, className)
		{
		}

		public GeneralStore(IntPtr address)
			: this(address, "GeneralStore")
		{
		}

		public static GeneralStore Get()
		{
			return MonoClass.smethod_15<GeneralStore>(TritonHs.MainAssemblyPath, "", "GeneralStore", "Get", Array.Empty<object>());
		}

		public new void Start()
		{
			method_8("Start");
		}

		public new void Awake()
		{
			method_8("Awake");
		}

		public new void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public GeneralStoreContent GetCurrentContent()
		{
			return method_14<GeneralStoreContent>("GetCurrentContent", Array.Empty<object>());
		}

		public GeneralStorePane GetCurrentPane()
		{
			return method_14<GeneralStorePane>("GetCurrentPane", Array.Empty<object>());
		}

		public GeneralStoreContent GetContent(GeneralStoreMode mode)
		{
			return method_14<GeneralStoreContent>("GetContent", new object[1] { mode });
		}

		public GeneralStorePane GetPane(GeneralStoreMode mode)
		{
			return method_14<GeneralStorePane>("GetPane", new object[1] { mode });
		}

		public void Close(bool closeWithAnimation)
		{
			method_9("Close", new Class276.Enum20[1] { Class276.Enum20.Boolean }, closeWithAnimation);
		}

		public new void Close()
		{
			method_9("Close", new Class276.Enum20[0]);
		}

		public void SetMode(GeneralStoreMode mode)
		{
			method_8("SetMode", mode);
		}

		public GeneralStoreMode GetMode()
		{
			return method_11<GeneralStoreMode>("GetMode", Array.Empty<object>());
		}

		public void ShakeStore(float xRotationAmount, float shakeTime, float delay, float translateAmount)
		{
			method_8("ShakeStore", xRotationAmount, shakeTime, delay, translateAmount);
		}

		public void SetDescription(string title, string desc, string warning)
		{
			method_8("SetDescription", title, desc, warning);
		}

		public void HideDescription()
		{
			method_8("HideDescription");
		}

		public void SetChooseDescription(string chooseText)
		{
			method_8("SetChooseDescription", chooseText);
		}

		public void HideChooseDescription()
		{
			method_8("HideChooseDescription");
		}

		public void SetAccentTexture(Texture texture)
		{
			method_8("SetAccentTexture", texture);
		}

		public void HideAccentTexture()
		{
			method_8("HideAccentTexture");
		}

		public void HidePacksPane(bool hide)
		{
			method_8("HidePacksPane", hide);
		}

		public void ResumePreviousMusicPlaylist()
		{
			method_8("ResumePreviousMusicPlaylist");
		}

		public new bool IsReady()
		{
			return method_11<bool>("IsReady", Array.Empty<object>());
		}

		public new void OnMoneySpent()
		{
			method_8("OnMoneySpent");
		}

		public new void OnGoldSpent()
		{
			method_8("OnGoldSpent");
		}

		public new void OnGoldBalanceChanged(NetCache.NetCacheGoldBalance balance)
		{
			method_8("OnGoldBalanceChanged", balance);
		}

		public void OnClosePressed(UIEvent e)
		{
			method_8("OnClosePressed", e);
		}

		public new void BuyWithMoney(UIEvent e)
		{
			method_8("BuyWithMoney", e);
		}

		public new void BuyWithGold(UIEvent e)
		{
			method_8("BuyWithGold", e);
		}

		public void UpdateMoneyButtonState()
		{
			method_8("UpdateMoneyButtonState");
		}

		public void UpdateGoldButtonState(NetCache.NetCacheGoldBalance balance)
		{
			method_9("UpdateGoldButtonState", new Class276.Enum20[1] { Class276.Enum20.Class }, balance);
		}

		public void UpdateGoldButtonState()
		{
			method_9("UpdateGoldButtonState", new Class276.Enum20[0]);
		}

		public void UpdateCostDisplay(NoGTAPPTransactionData goldBundle)
		{
			method_9("UpdateCostDisplay", new Class276.Enum20[1] { Class276.Enum20.Class }, goldBundle);
		}

		public void UpdateCostDisplay(Network.Bundle moneyBundle)
		{
			method_9("UpdateCostDisplay", new Class276.Enum20[1] { Class276.Enum20.Class }, moneyBundle);
		}

		public void UpdateCostDisplay(BuyPanelState newPanelState, string costText)
		{
			method_9("UpdateCostDisplay", new Class276.Enum20[2]
			{
				Class276.Enum20.ValueType,
				Class276.Enum20.String
			}, newPanelState, costText);
		}

		public void ShowBuyPanel(BuyPanelState setPanelState)
		{
			method_8("ShowBuyPanel", setPanelState);
		}

		public GameObject GetBuyPanelObject(BuyPanelState buyPanelState)
		{
			return method_14<GameObject>("GetBuyPanelObject", new object[1] { buyPanelState });
		}

		public void RefreshContent()
		{
			method_8("RefreshContent");
		}

		public new void Hide(bool animate)
		{
			method_8("Hide", animate);
		}

		public new void OnHidden()
		{
			method_8("OnHidden");
		}

		public void PreRender()
		{
			method_8("PreRender");
		}

		public bool IsContentFlipClockwise(GeneralStoreMode oldMode, GeneralStoreMode newMode)
		{
			return method_11<bool>("IsContentFlipClockwise", new object[2] { oldMode, newMode });
		}

		public void OnStopShaking(object obj)
		{
			method_8("OnStopShaking", obj);
		}

		public void ResetAnimations()
		{
			method_8("ResetAnimations");
		}

		public void UpdateModeButtons(GeneralStoreMode mode)
		{
			method_8("UpdateModeButtons", mode);
		}

		public void SuccessfulPurchaseEvent(Network.Bundle bundle, PaymentMethod paymentMethod, object userData)
		{
			method_8("SuccessfulPurchaseEvent", bundle, paymentMethod, userData);
		}

		public void SuccessfulPurchaseAckEvent(Network.Bundle bundle, PaymentMethod paymentMethod, object userData)
		{
			method_8("SuccessfulPurchaseAckEvent", bundle, paymentMethod, userData);
		}

		public void UpdateCostAndButtonState(NoGTAPPTransactionData goldBundle, Network.Bundle moneyBundle)
		{
			method_8("UpdateCostAndButtonState", goldBundle, moneyBundle);
		}

		public void FireModeChangedEvent(GeneralStoreMode oldMode, GeneralStoreMode newMode)
		{
			method_8("FireModeChangedEvent", oldMode, newMode);
		}

		public bool OnNavigateBack()
		{
			return method_11<bool>("OnNavigateBack", Array.Empty<object>());
		}

		public void CloseImpl(bool closeWithAnimation)
		{
			method_8("CloseImpl", closeWithAnimation);
		}

		public new string GetOwnedTooltipString()
		{
			return method_13("GetOwnedTooltipString");
		}
	}
}
